package com.deco.domain.vo.sys;

import java.sql.Timestamp;
import java.util.List;
import java.util.Map;

public class CmsMenuVo implements java.io.Serializable {

    private static final long serialVersionUID = -4831802015444211741L;

    // Fields

    private Integer id;
    private String name;
    private Integer parentId;
    private String url;
    private Integer level;
    private Integer idx;
    private Integer type;
    private Integer status;
    private Integer createBy;
    private Timestamp createTime;
    private Integer updateBy;
    private Timestamp updateTime;
    private Boolean active = false;
    private List<CmsMenuVo> subMenus;

    // Add
    private Map<Integer, CmsMenuVo> childMap;

    // Constructors

    /** default constructor */
    public CmsMenuVo() {
    }

    // Property accessors

    public Integer getId() {
        return this.id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getParentId() {
        return this.parentId;
    }

    public void setParentId(Integer parentId) {
        this.parentId = parentId;
    }

    public String getUrl() {
        return this.url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public Integer getLevel() {
        return this.level;
    }

    public void setLevel(Integer level) {
        this.level = level;
    }

    public Integer getIdx() {
        return this.idx;
    }

    public void setIdx(Integer idx) {
        this.idx = idx;
    }

    public Integer getType() {
        return this.type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getStatus() {
        return this.status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getCreateBy() {
        return this.createBy;
    }

    public void setCreateBy(Integer createBy) {
        this.createBy = createBy;
    }

    public Timestamp getCreateTime() {
        return this.createTime;
    }

    public void setCreateTime(Timestamp createTime) {
        this.createTime = createTime;
    }

    public Integer getUpdateBy() {
        return this.updateBy;
    }

    public void setUpdateBy(Integer updateBy) {
        this.updateBy = updateBy;
    }

    public Timestamp getUpdateTime() {
        return this.updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    public Map<Integer, CmsMenuVo> getChildMap() {
        return childMap;
    }

    public void setChildMap(Map<Integer, CmsMenuVo> childMap) {
        this.childMap = childMap;
    }

    public List<CmsMenuVo> getSubMenus() {
        return subMenus;
    }

    public void setSubMenus(List<CmsMenuVo> subMenus) {
        this.subMenus = subMenus;
    }

    public Boolean getActive() {
        return active;
    }

    public void setActive(Boolean active) {
        this.active = active;
    }

    @Override
    public String toString() {
        return "CmsMenuVo{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", parentId=" + parentId +
                ", url='" + url + '\'' +
                ", level=" + level +
                ", idx=" + idx +
                ", type=" + type +
                ", status=" + status +
                ", createBy=" + createBy +
                ", createTime=" + createTime +
                ", updateBy=" + updateBy +
                ", updateTime=" + updateTime +
                ", childMap=" + childMap +
                '}';
    }
}